@import "../common/config";

// 元素添加命名空间
@mixin block($element) {
  $B: $namespace + $element-separator + $element;
  .#{$B} {
    @content;
  }
}

// 元素修饰符
@mixin modifier($modifier) {
  $selector: #{& + $element-modifier + $modifier};

  @at-root {
    #{$selector} {
      @content;
    }
  }
}

// 判断类型
@mixin when($state) {
  @at-root {
    &.#{$state-prefix + $state} {
      @content;
    }
  }
}

// display table布局
@mixin utils-clearfix {
  $selector: &;

  @at-root {
    #{$selector}::before,
    #{$selector}::after {
      display: table;
      content: '';
    }

    #{$selector}::after {
      clear: both;
    }
  }
}
